home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / dev / m2 / ModGen.lha / ModGen / Source / ReqTools.def < prev    next >
Text File  |  1995-04-20  |  21KB  |  619 lines

  1. (* ------------------------------------------------------------------------
  2.   :Program.     ReqTools
  3.   :Contents.    Interface to Nico François' reqtools.library
  4.   :Author.      Kai Bolay [kai] (C-Version by Nico François)
  5.   :Address.     Hoffmannstraße 168
  6.   :Address.     D-7250 Leonberg 1 (Germany)
  7.   :Address.     UUCP: ...!cbmvax!cbmehq!cbmger!depot1!amokle!kai
  8.   :Address.     FIDO: 2:247/706.3
  9.   :History.     v1.0 [kai] 22-Nov-91 (translated from C)
  10.   :History.     v1.0m [Frank Lömker] 24-Feb-92 Umsetzung nach Modula
  11.   :History.     v2.0m [Frank Lömker] 10-Aug-92 ReqTools V38
  12.   :History.                                    ReqToolsBase korrigiert
  13.   :History.     v2.0t [Frank Lömker] 17-Apr-95 (Umsetzung nach Turbo Modula)
  14.   :Copyright.   Freeware
  15.   :Language.    Modula-2
  16.   :Translator.  Turbo Modula-2 V1.40
  17.   :Remark.      Thanks to Nico for his great library
  18.   :Bugs.        ReqTools/Arq should support each other
  19.   :Bugs.        Font-Hook: ta.name can contain odd pointer :-(
  20. ------------------------------------------------------------------------ *)
  21.  
  22. (*
  23. **  Filename: reqtools.def
  24. **  Release: 2.0
  25. **
  26. **  Modula interface.
  27. **
  28. **  (C) Copyright 1991/1992 Nico François
  29. **      All Rights Reserved
  30. *)
  31.  
  32. DEFINITION FOR LIBRARY MODULE ReqTools;
  33.  
  34. FROM Intuition IMPORT IntuitionBasePtr,WindowPtr,ScreenPtr,NewWindow;
  35. FROM Graphics IMPORT GfxBasePtr,TextFontPtr,TextAttr;
  36. FROM Dos IMPORT DosLibraryPtr;
  37. FROM Exec IMPORT Library,LibraryPtr;
  38. FROM SYSTEM IMPORT ADDRESS,SHORTSET,LONGSET,BADDRESS,STRING;
  39. FROM Utility IMPORT HookPtr,TagItem,TagItemPtr,Tag,TAG_USER;
  40.  
  41. CONST
  42.   ReqToolsName = "reqtools.library";
  43.   ReqToolsVersion = 38;
  44.  
  45. TYPE
  46.   reqToolsBasePtr = POINTER TO reqToolsBase;
  47.  
  48. VAR ReqToolsBase:reqToolsBasePtr;
  49.  
  50. TYPE
  51.   reqToolsBase = RECORD
  52.     libNode: Library;
  53.     RTflags: SHORTSET;
  54.     pad1,pad2,pad3:SHORTINT;
  55.     segList: BADDRESS;
  56.     (* The following library bases may be read and used by your program *)
  57.     intuitionBase: IntuitionBasePtr;
  58.     gfxBase: GfxBasePtr;
  59.     dosBase: DosLibraryPtr;
  60.     (* Next two library bases are only (and always) valid on Kickstart 2.0!
  61.        (1.3 version of reqtools also initializes these when run on 2.0) *)
  62.     gadToolsBase: LibraryPtr;
  63.     utilityBase: LibraryPtr;
  64.   END;
  65.  
  66. CONST
  67.   (* types of requesters, for AllocRequestA() *)
  68.   TypeFileReq       = 0;
  69.   TypeReqInfo       = 1;
  70.   TypeFontReq       = 2;
  71.   TypeScreenModeReq = 3;
  72.  
  73. (***********************
  74. *                      *
  75. *    File requester    *
  76. *                      *
  77. ***********************)
  78.  
  79. (* structure _MUST_ be allocated with AllocRequest() *)
  80.  
  81. TYPE
  82.   FileRequesterPtr = POINTER TO FileRequester;
  83.   FileRequester = RECORD
  84.     reqPos: LONGINT;
  85.     leftOffset: INTEGER;
  86.     topOffset: INTEGER;
  87.     flags: LONGSET;
  88.     (* OBSOLETE IN V38! DON'T USE! *) hook: HookPtr;
  89.     dir: STRING;                (* READ ONLY! Change with ChangeReqAttrA()! *)
  90.     matchPat: STRING;           (* READ ONLY! Change with ChangeReqAttrA()! *)
  91.     defaultFont: TextFontPtr;
  92.     waitPointer: ADDRESS;
  93.     (* V38 *)
  94.     lockWindow: LONGINT;
  95.     shareIDCMP: LONGINT;
  96.     intuiMsgFunc: HookPtr;
  97.     reserved1: INTEGER;
  98.     reserved2: INTEGER;
  99.     reserved3: INTEGER;
  100.     reqHeight: INTEGER;         (* READ ONLY!  Use RTFI_Height tag! *)
  101.     (* Private data follows! HANDS OFF :-) *)
  102.   END;
  103.  
  104. (* returned by FileRequestA() if multiselect is enabled,
  105.    free list with FreeFileList() *)
  106.  
  107.   FileListPtr = POINTER TO FileList;
  108.   FileList = RECORD
  109.     next: FileListPtr;
  110.     strLen: LONGINT;  (* -1 for directories *)
  111.     name: STRING;
  112.   END;
  113.  
  114. (* structure passed to RTFI_FilterFunc callback hook by
  115.    volume requester (see RTFI_VolumeRequest tag) *)
  116.  
  117.   VolumeEntryPtr = POINTER TO VolumeEntry;
  118.   VolumeEntry = RECORD
  119.     type: LONGINT;    (* DLT_DEVICE or DLT_DIRECTORY *)
  120.     name: STRING;
  121.   END;
  122.  
  123. (***********************
  124. *                      *
  125. *    Font requester    *
  126. *                      *
  127. ***********************)
  128.  
  129. (* structure _MUST_ be allocated with AllocRequest() *)
  130.  
  131.   FontRequesterPtr = POINTER TO FontRequester;
  132.   FontRequester = RECORD
  133.     reqPos: LONGINT;
  134.     leftOffset: INTEGER;
  135.     topOffset: INTEGER;
  136.     flags: LONGSET;
  137.     (* OBSOLETE IN V38! DON'T USE! *) hook: HookPtr;
  138.     attr: TextAttr;  (* READ ONLY! *)
  139.     defaultFont: TextFontPtr;
  140.     waitPointer: ADDRESS;
  141.     (* V38 *)
  142.     lockWindow: LONGINT;
  143.     shareIDCMP: LONGINT;
  144.     intuiMsgFunc: HookPtr;
  145.     reserved1: INTEGER;
  146.     reserved2: INTEGER;
  147.     reserved3: INTEGER;
  148.     reqHeight: INTEGER;         (* READ ONLY!  Use RTFI_Height tag! *)
  149.     (* Private data follows! HANDS OFF :-) *)
  150.   END;
  151.  
  152. (*************************
  153. *                        *
  154. *  ScreenMode requester  *
  155. *                        *
  156. *************************)
  157.  
  158. (* structure _MUST_ be allocated with rtAllocRequest() *)
  159.  
  160.   ScreenModeRequesterPtr = POINTER TO ScreenModeRequester;
  161.   ScreenModeRequester = RECORD
  162.     reqPos: LONGINT;
  163.     leftOffset: INTEGER;
  164.     topOffset: INTEGER;
  165.     flags: LONGSET;
  166.     private1: LONGINT;
  167.     displayID: LONGINT;         (* READ ONLY! *)
  168.     displayWidth: INTEGER;      (* READ ONLY! *)
  169.     displayHeight: INTEGER;     (* READ ONLY! *)
  170.     defaultFont: TextFontPtr;
  171.     waitPointer: ADDRESS;
  172.     lockWindow: LONGINT;
  173.     shareIDCMP: LONGINT;
  174.     intuiMsgFunc: HookPtr;
  175.     reserved1: INTEGER;
  176.     reserved2: INTEGER;
  177.     reserved3: INTEGER;
  178.     reqHeight: INTEGER;         (* READ ONLY!  Use RTFI_Height tag! *)
  179.     displayDepth: INTEGER;
  180.     overscanType: INTEGER;
  181.     autoScroll: LONGINT;
  182.     (* Private data follows! HANDS OFF :-) *)
  183.   END;
  184.  
  185. (***********************
  186. *                      *
  187. *    Requester Info    *
  188. *                      *
  189. ***********************)
  190.  
  191.   (* for EZRequestA(), GetLongA(), GetStringA() and PaletteRequestA(),
  192.      _MUST_ be allocated with AllocRequest() *)
  193.  
  194.   ReqInfoPtr = POINTER TO ReqInfo;
  195.   ReqInfo = RECORD
  196.     reqPos: LONGINT;
  197.     leftOffset: INTEGER;
  198.     topOffset: INTEGER;
  199.     width: LONGINT;              (* not for EZRequestA() *)
  200.     reqTitle: STRING;            (* currently only for EZRequestA() *)
  201.     flags: LONGSET;
  202.     defaultFont: TextFontPtr;    (* currently only for PaletteRequestA() *)
  203.     waitPointer: ADDRESS;
  204.     (* V38 *)
  205.     lockWindow: LONGINT;
  206.     shareIDCMP: LONGINT;
  207.     intuiMsgFunc: HookPtr;
  208.     (* structure may be extended in future *)
  209.   END;
  210.  
  211. (***********************
  212. *                      *
  213. *     Handler Info     *
  214. *                      *
  215. ***********************)
  216.  
  217. (* for ReqHandlerA(), will be allocated for you when you use
  218.    the ReqHandler tag, never try to allocate this yourself! *)
  219.  
  220.   HandlerInfoPtr = POINTER TO HandlerInfo;
  221.   HandlerInfo = RECORD
  222.     private1: LONGINT;
  223.     waitMask: LONGSET;
  224.     doNotWait: LONGINT (* LONGBOOL *); (* ? *)
  225.     (* Private data follows, HANDS OFF :-) *)
  226.   END;
  227.  
  228. (* possible return codes from ReqHandlerA() *)
  229. CONST
  230.   CallHandler = 080000000H;
  231.  
  232.  
  233. (*************************************
  234. *                                    *
  235. *                TAGS                *
  236. *                                    *
  237. *************************************)
  238.  
  239.   TagBase = TAG_USER;
  240.  
  241. (*** tags understood by most requester functions ***)
  242.  
  243.    (* optional pointer to window *)
  244.   Window = TagBase+1;
  245.    (* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) *)
  246.   IDCMPFlags = TagBase+2;
  247.    (* position of requester window (see below) - default REQPOS_POINTER *)
  248.   ReqPos = TagBase+3;
  249.    (* leftedge offset of requester relative to position specified by RT_ReqPos *)
  250.   LeftOffset = TagBase+4;
  251.    (* topedge offset of requester relative to position specified by ReqPos *)
  252.   TopOffset = TagBase+5;
  253.    (* name of public screen to put requester on (Kickstart 2.0 only!) *)
  254.   PubScrName = TagBase+6;
  255.    (* address of screen to put requester on *)
  256.   Screen = TagBase+7;
  257.    (* tagdata must hold the address of (!) an APTR variable *)
  258.   DoReqHandler = TagBase+8;
  259.    (* font to use when screen font is rejected, _MUST_ be fixed-width font!
  260.       (struct TextFont *, not struct TextAttr *!)
  261.       - default GfxBase->DefaultFont *)
  262.   DefaultFont = TagBase+9;
  263.    (* boolean to set the standard wait pointer in window - default FALSE *)
  264.   WaitPointer = TagBase+10;
  265.    (* (V38) char preceding keyboard shortcut characters (will be underlined) *)
  266.   Underscore = TagBase+11;
  267.    (* (V38) share IDCMP port with window - default FALSE *)
  268.   ShareIDCMP = TagBase+12;
  269.    (* (V38) lock window and set standard wait pointer - default FALSE *)
  270.   LockWindowTag = TagBase+13;
  271.    (* (V38) boolean to make requester's screen pop to front - default TRUE *)
  272.   ScreenToFront = TagBase+14;
  273.    (* (V38) Requester should use this font - default: screen font *)
  274.   Textattr = TagBase+15;
  275.    (* (V38) call this hook for every IDCMP message not for requester *)
  276.   IntuiMsgFunc = TagBase+16;
  277.    (* (V38) Locale ReqTools should use for text *)
  278.   Locale = TagBase+17;
  279.  
  280. (*** tags specific to EZRequestA ****)
  281.  
  282.    (* title of requester window - default "Request" or "Information" *)
  283.   ezReqTitle = TagBase+20;
  284.    (* TagBase+21 reserved *)
  285.    (* various flags (see below) *)
  286.   ezFlags = TagBase+22;
  287.    (* default response (activated by pressing RETURN) - default TRUE *)
  288.   ezDefaultResponse = TagBase+23;
  289.  
  290. (*** tags specific to GetLongA ****)
  291.  
  292.    (* minimum allowed value - default MININT *)
  293.   glMin = TagBase+30;
  294.    (* maximum allowed value - default MAXINT *)
  295.   glMax = TagBase+31;
  296.    (* suggested width of requester window (in pixels) *)
  297.   glWidth = TagBase+32;
  298.    (* boolean to show the default value - default TRUE *)
  299.   glShowDefault = TagBase+33;
  300.    (* (V38) string with possible responses - default " _Ok |_Cancel" *)
  301.   glGadFmt = TagBase+34;
  302.    (* (V38) optional arguments for RTGL_GadFmt *)
  303.   glGadFmtArgs = TagBase+35;
  304.    (* (V38) invisible typing - default FALSE *)
  305.   glInvisible = TagBase+36;
  306.    (* (V38) window backfill - default TRUE *)
  307.   glBackFill = TagBase+37;
  308.    (* (V38) optional text above gadget *)
  309.   glTextFmt = TagBase+38;
  310.    (* (V38) optional arguments for RTGS_TextFmt *)
  311.   glTextFmtArgs = TagBase+39;
  312.    (* (V38) various flags (see below) *)
  313.   glFlags = ezFlags;
  314.  
  315. (*** tags specific to GetStringA ****)
  316.  
  317.    (* suggested width of requester window (in pixels) *)
  318.   gsWidth = glWidth;
  319.    (* allow empty string to be accepted - default FALSE *)
  320.   gsAllowEmpty = TagBase+80;
  321.    (* (V38) string with possible responses - default " _Ok |_Cancel" *)
  322.   gsGadFmt  = glGadFmt;
  323.    (* (V38) optional arguments for RTGS_GadFmt *)
  324.   gsGadFmtArgs = glGadFmtArgs;
  325.    (* (V38) invisible typing - default FALSE *)
  326.   gsInvisible = glInvisible;
  327.    (* (V38) window backfill - default TRUE *)
  328.   gsBackFill = glBackFill;
  329.    (* (V38) optional text above gadget *)
  330.   gsTextFmt = glTextFmt;
  331.    (* (V38) optional arguments for RTGS_TextFmt *)
  332.   gsTextFmtArgs = glTextFmtArgs;
  333.    (* (V38) various flags (see below) *)
  334.   gsFlags = ezFlags;
  335.  
  336. (*** tags specific to FileRequestA ****)
  337.  
  338.    (* various flags (see below) *)
  339.   fiFlags = TagBase+40;
  340.    (* suggested height of file requester *)
  341.   fiHeight = TagBase+41;
  342.    (* replacement text for 'Ok' gadget (max 6 chars) *)
  343.   fiOkText = TagBase+42;
  344.    (* (V38) bring up volume requester, tag data holds flags (see below) *)
  345.   fiVolumeRequest = TagBase+43;
  346.    (* (V38) call this hook for every file in the directory *)
  347.   fiFilterFunc = TagBase+44;
  348.    (* (V38) allow empty file to be accepted - default FALSE *)
  349.   fiAllowEmpty = TagBase+45;
  350.  
  351. (*** tags specific to FontRequestA ****)
  352.  
  353.    (* various flags (see below) *)
  354.   foflags = fiFlags;
  355.    (* suggested height of font requester *)
  356.   foHeight = fiHeight;
  357.    (* replacement text for 'Ok' gadget (max 6 chars) *)
  358.   foOkText = fiOkText;
  359.    (* suggested height of font sample display - default 24 *)
  360.   foSampleHeight= TagBase+60;
  361.    (* minimum height of font displayed *)
  362.   foMinHeight = TagBase+61;
  363.    (* maximum height of font displayed *)
  364.   foMaxHeight = TagBase+62;
  365.    (* [TagBase+63 to TagBase+66 used below] *)
  366.    (* (V38) call this hook for every font *)
  367.   foFilterFunc = fiFilterFunc;
  368.  
  369. (*** (V38) tags for rtScreenModeRequestA ****)
  370.  
  371.    (* various flags (see below) *)
  372.   scFlags = fiFlags;
  373.    (* suggested height of screenmode requester *)
  374.   scHeight = fiHeight;
  375.    (* replacement text for 'Ok' gadget (max 6 chars) *)
  376.   scOkText = fiOkText;
  377.    (* property flags (see also RTSC_PropertyMask) *)
  378.   scPropertyFlags = TagBase+90;
  379.    (* property mask - default all bits in RTSC_PropertyFlags considered *)
  380.   scPropertyMask = TagBase+91;
  381.    (* minimum display width allowed *)
  382.   scMinWidth = TagBase+92;
  383.    (* maximum display width allowed *)
  384.   scMaxWidth = TagBase+93;
  385.    (* minimum display height allowed *)
  386.   scMinHeight = TagBase+94;
  387.    (* maximum display height allowed *)
  388.   scMaxHeight = TagBase+95;
  389.    (* minimum display depth allowed *)
  390.   scMinDepth = TagBase+96;
  391.    (* maximum display depth allowed *)
  392.   scMaxDepth = TagBase+97;
  393.    (* call this hook for every display mode id *)
  394.   scFilterFunc = fiFilterFunc;
  395.  
  396. (*** tags for ChangeReqAttrA ****)
  397.  
  398.    (* file requester - set directory *)
  399.   fiDir = TagBase+50;
  400.    (* file requester - set wildcard pattern *)
  401.   fiMatchPat = TagBase+51;
  402.    (* file requester - add a file or directory to the buffer *)
  403.   fiAddEntry = TagBase+52;
  404.    (* file requester - remove a file or directory from the buffer *)
  405.   fiRemoveEntry = TagBase+53;
  406.    (* font requester - set font name of selected font *)
  407.   foFontName = TagBase+63;
  408.    (* font requester - set font size *)
  409.   foFontHeight = TagBase+64;
  410.    (* font requester - set font style *)
  411.   foFontStyle = TagBase+65;
  412.    (* font requester - set font flags *)
  413.   foFontFlags = TagBase+66;
  414.    (* (V38) screenmode requester - get display attributes from screen *)
  415.   scModeFromScreen = TagBase+80;
  416.    (* (V38) screenmode requester - set display mode id (32-bit extended) *)
  417.   scDisplayID = TagBase+81;
  418.    (* (V38) screenmode requester - set display width *)
  419.   scDisplayWidth = TagBase+82;
  420.    (* (V38) screenmode requester - set display height *)
  421.   scDisplayHeight = TagBase+83;
  422.    (* (V38) screenmode requester - set display depth *)
  423.   scDisplayDepth = TagBase+84;
  424.    (* (V38) screenmode requester - set overscan type, 0 for regular size *)
  425.   scOverscanType = TagBase+85;
  426.    (* (V38) screenmode requester - set autoscroll *)
  427.   scAutoScroll = TagBase+86;
  428.  
  429. (*** tags for PaletteRequestA ****)
  430.  
  431.    (* initially selected color - default 1 *)
  432.   paColor = TagBase+70;
  433.  
  434. (*** tags for ReqHandlerA ****)
  435.  
  436.    (* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK
  437.       or in case of EZRequest to the return value *)
  438.   rhEndRequest = TagBase+60;
  439.  
  440. (*** tags for AllocRequestA ***)
  441.  
  442.   (* no tags defined yet *)
  443.  
  444.  
  445. (************
  446. *  ReqPos   *
  447. ************)
  448.   ReqPosPointer = 0;
  449.   ReqPosCenterWin = 1;
  450.   ReqPosCenterScr = 2;
  451.   ReqPosTopLeftWin = 3;
  452.   ReqPosTopLeftScr = 4;
  453.  
  454. (******************
  455. * RTRH_EndRequest *
  456. ******************)
  457.   ReqCancel = 0;
  458.   ReqOK = 1;
  459.  
  460. (***************************************
  461. * flags for RTFI_Flags and RTFO_Flags  *
  462. * or filereq->Flags and fontreq->Flags *
  463. ***************************************)
  464.   fReqNoBuffer = 2;
  465.  
  466. (*****************************************
  467. * flags for RTFI_Flags or filereq->Flags *
  468. *****************************************)
  469.   fReqMultiSelect = 0;
  470.   fReqSave = 1;
  471.   fReqNoFiles = 3;
  472.   fReqPatGad = 4;
  473.   fReqSelectDirs = 12;
  474.  
  475. (*****************************************
  476. * flags for RTFO_Flags or fontreq->Flags *
  477. *****************************************)
  478.   fReqFixedWidth = 5;
  479.   fReqColorFonts = 6;
  480.   fReqChangePalette = 7;
  481.   fReqLeavePalette = 8;
  482.   fReqScale = 9;
  483.   fReqStyle = 10;
  484.  
  485. (*****************************************************
  486. * (V38) flags for RTSC_Flags or screenmodereq->Flags *
  487. *****************************************************)
  488.   scReqSizeGads = 13;
  489.   scReqDepthGad = 14;
  490.   scReqNonStdModes =15;
  491.   scReqGuiModes = 16;
  492.   scReqAutoscrollGad =18;
  493.   scReqOverscanGad =19;
  494.  
  495. (*****************************************
  496. * flags for RTEZ_Flags or reqinfo->Flags *
  497. *****************************************)
  498.   ezReqNoReturnKey = 0;
  499.   ezReqLamigaQual = 1;
  500.   ezReqCenterText = 2;
  501.  
  502. (***********************************************
  503. * (V38) flags for RTGL_Flags or reqinfo->Flags *
  504. ***********************************************)
  505.   glReqCenterText = ezReqCenterText;
  506.   glReqHighlightText = 3;
  507.  
  508. (***********************************************
  509. * (V38) flags for RTGS_Flags or reqinfo->Flags *
  510. ***********************************************)
  511.   gsReqCenterText = ezReqCenterText;
  512.   gsReqHighlightText = glReqHighlightText;
  513.  
  514. (*****************************************
  515. * (V38) flags for RTFI_VolumeRequest tag *
  516. *****************************************)
  517.   vReqNoAssigns = 0;
  518.   vReqNoDisks = 1;
  519.   vReqAllDisks = 2;
  520.  
  521. (*
  522.    Following things are obsolete in ReqTools V38.
  523.    Don't use them in new code!
  524. *)
  525.   fReqDoWildFunc = 11;
  526.   ReqHookWildFile = 0;
  527.   ReqHookWildFont = 1;
  528.  
  529. PROCEDURE rtAllocRequestA (type: LONGINT;
  530.                          tagList: TagItemPtr): ADDRESS;
  531. PROCEDURE rtAllocRequest (type: LONGINT;
  532.                         tag1: Tag; ..): ADDRESS;
  533. PROCEDURE rtFreeRequest (req: ADDRESS);
  534. PROCEDURE rtFreeReqBuffer (req: ADDRESS);
  535. PROCEDURE rtChangeReqAttrA (req: ADDRESS;
  536.                           tagList: TagItemPtr);
  537. PROCEDURE rtChangeReqAttr (req: ADDRESS;
  538.                          tag1: Tag; ..);
  539. PROCEDURE rtFileRequestA (fileReq: FileRequesterPtr;
  540.                 (*VAR*) fileName: STRING;
  541.                         title: STRING;
  542.                         tagList: TagItemPtr): BOOLEAN;
  543. PROCEDURE rtFileRequest (fileReq: FileRequesterPtr;
  544.                (*VAR*) fileName: STRING;
  545.                        title: STRING;
  546.                        tag1: Tag; ..): BOOLEAN;
  547. PROCEDURE rtFreeFileList (fileList: FileListPtr);
  548. PROCEDURE rtEZRequestA (bodyfmt, gadfmt: STRING;
  549.                       reqInfo: ReqInfoPtr;
  550.                       argarray: ADDRESS;
  551.                       tagList: TagItemPtr): LONGINT;
  552. PROCEDURE rtEZRequestTags (bodyfmt, gadfmt: STRING;
  553.                          reqInfo: ReqInfoPtr;
  554.                          argarray: ADDRESS;
  555.                          tag1: Tag; ..):LONGINT;
  556. PROCEDURE rtEZRequest (bodyfmt, gadfmt: STRING;
  557.                      reqInfo: ReqInfoPtr;
  558.                      tagList: TagItemPtr;
  559.                      argarray: LONGINT; ..): LONGINT;
  560. PROCEDURE rtGetStringA ((*VAR*) buffer: STRING;
  561.                       maxchars: LONGINT;
  562.                       title: STRING;
  563.                       reqInfo: ReqInfoPtr;
  564.                       tagList: TagItemPtr): BOOLEAN;
  565. PROCEDURE rtGetString ((*VAR*) buffer: STRING;
  566.                      maxchars: LONGINT;
  567.                      title: STRING;
  568.                      reqInfo: ReqInfoPtr;
  569.                      tag1: Tag; ..): BOOLEAN;
  570. PROCEDURE rtGetLongA (VAR long: LONGINT; title: STRING;
  571.                     reqInfo: ReqInfoPtr;
  572.                     tagList: TagItemPtr): BOOLEAN;
  573. PROCEDURE rtGetLong (VAR long: LONGINT; title: STRING;
  574.                    reqInfo: ReqInfoPtr;
  575.                    tag1: Tag; ..): BOOLEAN;
  576. PROCEDURE rtFontRequestA (fontReq: FontRequesterPtr;
  577.                         title: STRING;
  578.                         tagList: TagItemPtr): BOOLEAN  ;
  579. PROCEDURE rtFontRequest (fontReq: FontRequesterPtr;
  580.                        title: STRING;
  581.                        tag1: Tag; ..):BOOLEAN  ;
  582. PROCEDURE rtPaletteRequestA (title: STRING;
  583.                            reqInfo: ReqInfoPtr;
  584.                            tagList: TagItemPtr): LONGINT;
  585. PROCEDURE rtPaletteRequest (title: STRING;
  586.                           reqInfo: ReqInfoPtr;
  587.                           tag1: Tag; ..): LONGINT;
  588. PROCEDURE rtReqHandlerA (hinfo: HandlerInfoPtr;
  589.                        sigs: LONGSET;
  590.                        tagList: TagItemPtr): LONGINT;
  591. PROCEDURE rtReqHandler (hinfo: HandlerInfoPtr;
  592.                       sigs: LONGSET;
  593.                       tag1: Tag; ..): LONGINT;
  594. PROCEDURE rtSetWaitPointer (window: WindowPtr);
  595. PROCEDURE rtGetVScreenSize (screen: ScreenPtr;
  596.                           VAR width,height: LONGINT);
  597. PROCEDURE rtSetReqPosition (reqpos: LONGINT;
  598.                           VAR nw: NewWindow;
  599.                           screen: ScreenPtr;
  600.                           window: WindowPtr);
  601. PROCEDURE rtSpread ((*VAR*) posarray: ADDRESS (*ARRAY OF LONGINT*);
  602.                   sizearray: ADDRESS (*ARRAY OF LONGINT*);
  603.                   totalsize, min, max, num: LONGINT);
  604. PROCEDURE rtScreenToFrontSafely (screen: ScreenPtr);
  605.  
  606. (*--- functions in V38 or higher (distributed as Release 2.0) ---*)
  607. PROCEDURE rtScreenModeRequestA (screenmodeReq: ScreenModeRequesterPtr;
  608.                               title: STRING;
  609.                               tagList: TagItemPtr): BOOLEAN;
  610. PROCEDURE rtScreenModeRequest (screenmodeReq: ScreenModeRequesterPtr;
  611.                              title: STRING;
  612.                              tag1: Tag; ..): BOOLEAN;
  613. PROCEDURE rtCloseWindowSafely (window: WindowPtr);
  614. PROCEDURE rtLockWindow (window: WindowPtr): LONGINT;
  615. PROCEDURE rtUnlockWindow (window: WindowPtr;
  616.                         winlock: LONGINT);
  617.  
  618. END ReqTools.
  619.